home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 November / EnigmA AMIGA RUN 02 (1995)(G.R. Edizioni)(IT)[!][issue 1995-11][Skylink CD].iso / earcd / util / text / megaed12.lha / MegaEdV1_2 / Trans / Peep.trans.p < prev    next >
Text File  |  1992-09-02  |  2KB  |  116 lines

  1. PROGRAM PeepTrans;
  2.  
  3. {
  4.     Konvertiert Peep-Fehlerdateien für MegaEd
  5.     von Wurzelsepp, 100% PD
  6. }
  7.  
  8. {$I "include:exec/memory.i" }
  9. {$I "include:libraries/dosextens.i" }
  10. {$I "include:utils/Stringlib.i" }
  11.  
  12. CONST
  13.     file1   :   String  =   "T:MegaEdMake-ErrFile";
  14.     file2   :   String  =   "T:MegaEdMake-Errors";
  15.     errorinfo :   String  =   "E1/1";
  16.     ret     :   Char    =   CHR(10);
  17.  
  18.     ver_text : String = "\0$VER: MegaEd-TransPeep V1.0 (16.03.95)";
  19.  
  20. VAR
  21.     fileh       :   FileHandle;
  22.     meldung     :   BOOLEAN;
  23.     las,
  24.     len,
  25.     dummy       :   INTEGER;
  26.     old         :   Address;
  27.     off         :   ^Char;
  28.  
  29. PROCEDURE TickleOn;
  30.  
  31. BEGIN
  32.  Inc(las);
  33.  off:=Address(Integer(off)+1);
  34. END;
  35.  
  36. BEGIN
  37.  
  38.  IF DeleteFile(file2) THEN ;
  39.  
  40.  meldung:=FALSE;
  41.  fileh:=DOSOpen (file1,MODE_OLDFILE);
  42.  IF fileh<>NIL THEN
  43.  BEGIN
  44.   dummy:=Seek(fileh,0,OFFSET_END);
  45.   len:=Seek(fileh,0,OFFSET_BEGINNING);
  46.   if len>0 THEN
  47.   BEGIN
  48.    old:=AllocMem (len,MEMF_PUBLIC+MEMF_CLEAR);
  49.    IF old=NIL THEN
  50.    BEGIN
  51.     DOSClose (fileh);
  52.     Exit;
  53.    END;
  54.    IF DOSRead(fileh,old,len)<>len THEN
  55.    BEGIN
  56.     FreeMem(old,len);
  57.     DOSClose(fileh);
  58.     Exit;
  59.    END;
  60.   END;
  61.   DOSClose(fileh);
  62.   IF (len=0) THEN Exit;
  63.  
  64.   fileh:=DOSOpen (file2,MODE_NEWFILE);
  65.   IF fileh<>NIL THEN
  66.   BEGIN
  67.  
  68.    las:=0;
  69.    off:=old;
  70.    WHILE las<len DO
  71.    BEGIN
  72.  
  73.     WHILE (off^<>CHR(10)) AND (las<len) DO
  74.      TickleOn;
  75.     IF las<len THEN
  76.     BEGIN
  77.      TickleOn; {Return überlesen}
  78.      IF las<len THEN
  79.      BEGIN
  80.       meldung:=TRUE;
  81.  
  82.       WHILE (off^<>'"') AND (las<len) DO
  83.        TickleOn;
  84.       IF las<len THEN
  85.       BEGIN
  86.        TickleOn;
  87.        { Error-Kennung schreiben. Zeilen/Spalten-Angabe ist nicht möglich }
  88.        dummy:=DOSWrite (fileh,errorinfo,StrLen(errorinfo));
  89.        dummy:=DOSWrite (fileh,Adr(ret),1);
  90.        WHILE (off^<>'"') AND (las<len) DO
  91.        BEGIN
  92.         dummy:=DOSWrite (fileh,off,1);
  93.         TickleOn;
  94.        END;
  95.        IF las<len THEN
  96.        BEGIN
  97.         TickleOn;
  98.         TickleOn; {Gänsefüßchen und Return überlesen }
  99.        END;
  100.       END;
  101.      END;
  102.     END;
  103.    END;
  104.    DOSClose (fileh);
  105.   END;
  106.  
  107.   FreeMem(old,len);
  108.  
  109.  END;
  110.  
  111.  IF meldung=FALSE THEN
  112.   IF DeleteFile(file2) THEN ;
  113.  
  114. END.
  115.  
  116.